package org.itzheng.yuezhi.activity;

import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;

import org.itzheng.yuezhi.R;
import org.itzheng.yuezhi.base.BaseActivity;
import org.itzheng.yuezhi.utils.MyJsoup;
import org.itzheng.yuezhi.utils.MyLog;

import butterknife.BindView;
import butterknife.ButterKnife;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.onekeyshare.OnekeyShare;

/**
 * 用于加载网页
 */
public class WebViewActivity extends BaseActivity {
    private static final String TAG = "WebViewActivity";
    @BindView(R.id.tv_template_title_name)
    TextView tv_template_title_name;
    @BindView(R.id.wv_web_view)
    WebView wv_web_view;
    @BindView(R.id.rl_web_view_progress)
    RelativeLayout rl_web_view_progress;
    @BindView(R.id.tv_web_view_progress)
    TextView tv_web_view_progress;
    @BindView(R.id.pb_web_view_progress)
    ProgressBar pb_web_view_progress;
    String mTitle;
    String mUrl;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_web_view);
        ButterKnife.bind(this);
        tv_template_title_name.setSelected(true);
        mUrl = getIntent().getStringExtra("url");
        mTitle = getIntent().getStringExtra("title");
//        url="http://xw.qq.com/sports/20160706045579";
        MyLog.d(TAG, mUrl);
        wv_web_view.loadUrl(mUrl);
        wv_web_view.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                //本地打开url
                view.loadUrl(url);
                return true;
            }

            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                mUrl = url;
                super.onPageStarted(view, url, favicon);
            }
        });
        wv_web_view.setWebChromeClient(new MyWebChromeClient());
        WebSettings webSettings = wv_web_view.getSettings();
        //支持JavaScript交互,如果不开启,无法正常播放视频,也不能将网页转成手机格式,
        // 开启的话,用户又能操作控件,跳到别人的登录界面
        webSettings.setJavaScriptEnabled(true);
        //支持缩放
        webSettings.setBuiltInZoomControls(true);
        webSettings.setSupportZoom(true);
        //缓存到内存卡,播放视频
        webSettings.setPluginState(WebSettings.PluginState.ON);
        webSettings.setDomStorageEnabled(true);
    }

    //按返回键时,不退出程序而是返回上一浏览页面
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && wv_web_view.canGoBack()) {
            wv_web_view.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

    public void onShare(View view) {
//        MyToast.show(getApplicationContext(), "分享");
//        showShare();
        getHtml();
    }

    public void getHtml() {
        final MyJsoup myJsoup = new MyJsoup();
        new Thread(new Runnable() {
            @Override
            public void run() {
                myJsoup.getHtml(mUrl);
            }
        }).start();
    }

    private void showShare() {
        ShareSDK.initSDK(this);
        OnekeyShare oks = new OnekeyShare();
        //关闭sso授权
        oks.disableSSOWhenAuthorize();

/**
 //分享到朋友圈时,用户不能编辑内容
 // 分享时Notification的图标和文字  2.5.9以后的版本不调用此方法
 //oks.setNotification(R.drawable.ic_launcher, getString(R.string.app_name));
 // title标题，印象笔记、邮箱、信息、微信、人人网和QQ空间使用
 oks.setTitle("标题");
 // titleUrl是标题的网络链接，仅在人人网和QQ空间使用
 oks.setTitleUrl("http://sharesdk.cn");
 // text是分享文本，所有平台都需要这个字段
 oks.setText("我是分享文本");
 // imagePath是图片的本地路径，Linked-In以外的平台都支持此参数
 //oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片
 // url仅在微信（包括好友和朋友圈）中使用
 oks.setUrl("http://sharesdk.cn");
 // comment是我对这条分享的评论，仅在人人网和QQ空间使用
 oks.setComment("我是测试评论文本");
 // site是分享此内容的网站名称，仅在QQ空间使用
 oks.setSite(getString(R.string.app_name));
 // siteUrl是分享此内容的网站地址，仅在QQ空间使用
 oks.setSiteUrl("http://sharesdk.cn");
 */
        //用户可以设置分享内容
        oks.setTitle(mTitle);
        // titleUrl是标题的网络链接，仅在人人网和QQ空间使用
        oks.setTitleUrl(mUrl);
        // text是分享文本，所有平台都需要这个字段
//        oks.setText("我是分享图片");
        // url仅在微信（包括好友和朋友圈）中使用
        oks.setUrl(mUrl);
//        oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg");//http://p3.pstatp.com/large/9e00003d06b4c74b7e1
        oks.setImageUrl("http://p3.pstatp.com/large/9e00003d06b4c74b7e1");
// 启动分享GUI
        oks.show(this);
    }

    class MyWebChromeClient extends WebChromeClient {
        @Override
        public void onProgressChanged(WebView view, int newProgress) {
            if (newProgress == 100) {
                rl_web_view_progress.setVisibility(View.GONE);
            } else {
//                tv_web_view_progress.setText(newProgress + "");
                pb_web_view_progress.setProgress(newProgress);
            }
            super.onProgressChanged(view, newProgress);
        }

        @Override
        public void onReceivedTitle(WebView view, String title) {
            tv_template_title_name.setText(title);
            mTitle = title;
            super.onReceivedTitle(view, title);
        }
    }
}
